[Terraform] Terraform入門(2) - 變數
前言
本篇為Terraform系列的第二篇,紀錄Terraform如何定義及應用變數
Hands on Lab
變數宣告
variable開頭做變數宣告,後面接自定義的變數名稱,如下方範例,變數名為iam_user_name,變數值為my_iam_user
1 | |
若無給予
default這個屬性的話,執行terraform apply後會要求輸入值。

匯出變數
除了上面使用變數宣告的方法外,也可以在終端機中輸入指令來定義變數,如:
Mac版
採export TF_VAR_iam_user_name=VALUE的語法來匯出變數。
1 | |
匯出變數後執行terraform plan -refresh=false查看變化
上圖可觀察到iam_user_name替換成test_prefix
Windows版
相異於Mac指令,Windows版採用SET VARIABLE=VALUE指令來匯出變數。
取用變數值
採var.*的方式來取得變數值,如延續上一篇文的範例:
1 | |
更改後執行terraform apply指令。
另外也可以透過terraform console的方式驗證是否能取得變數值。
賦予變數型態
既然能給變數值,那當然也可以定義變數型態啦,只要在宣告變數的地方給予type屬性,並指定哪個型態作為屬性值。如:
1 | |
統一管理變數(variable)
我們可以另外建一個terraform.tfvars或是*.auto.tfvars檔案來集中管理變數。
範例
於根目錄下建立一terraform.tfvars檔案,此檔寫入
1 | |
表示宣告變數iam_user_name,並賦予值tf_file_test_iam_user_name。
執行terraform plan -refresh=false查看變化